package com.alks.function.service.procurement;

import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.dto.procurement.PcPackDetailDto;
import com.alks.function.data.request.procurement.BatchProcessNotOrderMaterialRequest;
import com.alks.function.data.request.procurement.NewPcPackDetailRequest;
import com.alks.function.data.request.procurement.NotOrderMaterialRequest;
import com.alks.function.data.request.procurement.PcPackDetailRequest;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface PackagOrderingOperationService {

    ResponseInfo getNotOrderMaterialList(NotOrderMaterialRequest request);

    ResponseInfo getOrderedDetailsList(NotOrderMaterialRequest request);

    ResponseInfo getNotOrderMaterialTotalPurQty(NotOrderMaterialRequest request);

    ResponseInfo updateOrderedRemark(List<PcPackDetailRequest> request);

    ResponseInfo updateReqDateAndUPrice(NewPcPackDetailRequest request);

    ResponseInfo getBatchProcess(BatchProcessNotOrderMaterialRequest request);

    ResponseInfo cancelOrderedDetails(List<PcPackDetailRequest> request);

    ResponseInfo makePurchaseOrder(List<PcPackDetailRequest> request);

    void exportPurchaseOrder(NotOrderMaterialRequest request, HttpServletResponse response);

    void exportPurchaseOrderByLongitudinal(NotOrderMaterialRequest request, HttpServletResponse response);

    void exportPurchaseOrderByTransverse(NotOrderMaterialRequest request, HttpServletResponse response);

    void exportPurchaseOrderByPrefill(NotOrderMaterialRequest request, HttpServletResponse response);
    ResponseInfo updateNotOrderMaterial(PcPackDetailDto request);
}
